<?php

use Phinx\Migration\AbstractMigration;

class CreateTaskRepairOrderTable extends AbstractMigration
{
    public function up()
    {
        $this->table('task_repair_order', ['id' => false, 'primary_key' => ['id'], 'engine' => 'InnoDB', 'collation' => 'utf8mb4_general_ci', 'comment' => '任务返修单'])
            ->addColumn('id', 'integer', ['identity' => true, 'signed' => false, 'limit' => 11, 'comment' => '主键ID'])
            ->addColumn('submitter_id', 'integer', ['limit' => 11, 'null' => false, 'signed' => false, 'default' => 0, 'comment' => '提交人'])
            ->addColumn('task_id', 'integer', ['limit' => 11, 'null' => false, 'signed' => false, 'default' => 0, 'comment' => '任务id'])
            ->addColumn('step_category_id', 'integer', ['limit' => 11, 'null' => false, 'signed' => false, 'default' => 0, 'comment' => '任务工序id'])
            ->addColumn('step_id', 'integer', ['limit' => 11, 'null' => false, 'signed' => false, 'default' => 0, 'comment' => '任务工序id'])
            ->addColumn('entity_id', 'integer', ['limit' => 11, 'null' => false, 'signed' => false, 'default' => 0, 'comment' => '实体id'])
            ->addColumn('tenant_id', 'integer', ['limit' => 11, 'null' => false, 'signed' => false, 'default' => 0, 'comment' => '租户id'])
            ->addColumn('project_id', 'integer', ['limit' => 11, 'null' => false, 'signed' => false, 'default' => 0, 'comment' => '项目id'])
            ->addColumn('effect_task_number', 'integer', ['limit' => 11, 'null' => false, 'signed' => false, 'default' => 0, 'comment' => '受影响任务数量'])
            ->addColumn('repair_step_category_id', 'integer', ['null' => false, 'signed' => false, 'default' => 0, 'limit' => 11, 'comment' => '需要返修工序分类id'])
            ->addColumn('repair_reason', 'text', ['null' => true, 'comment' => '返修理由描述'])
            ->addColumn('status', 'enum', ['values' => 'default,active,deny,done,closed', 'null' => false, 'default' => 'default', 'comment' => '状态'])
            ->addColumn('created_by', 'integer', ['null' => false, 'default' => 0, 'signed' => false, 'limit' => 11, 'comment' => '创建人'])
            ->addColumn('created', 'integer', ['null' => false, 'default' => 0, 'signed' => false, 'limit' => 11, 'comment' => '创建时间'])
            ->addColumn('updated', 'integer', ['null' => false, 'default' => 0, 'signed' => false, 'limit' => 11, 'comment' => '更新时间'])
            ->save();
    }

    public function down()
    {
        $this->table('task_repair_order')->drop()->save();
    }
}
